/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.com.cotelasa.scp.dominio.servicio.impl;

import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import pe.com.cotelasa.common.dao.excepcion.DAOException;
import pe.com.cotelasa.scp.dao.IDAOUnidadMedidaComp;
import pe.com.cotelasa.scp.dominio.common.ESTADO_REGISTRO;
import pe.com.cotelasa.scp.dominio.excepcion.ServiceException;
import pe.com.cotelasa.scp.dominio.service.IServicioUnidadMedidaComp;
import pe.com.cotelasa.scp.entidad.UnidadMedidaComp;

/**
 *
 * @author usuario
 */
@Service
public class ServicioUnidadMedidaCompImpl implements IServicioUnidadMedidaComp, Serializable{
    
    private static final long serialVersionUID = -3899534497036527682L;
    @Inject
    private IDAOUnidadMedidaComp daoUnidadMedidaComp;
    
    @Override
    public Collection<UnidadMedidaComp> listarUnidadMedidaCompsActivos() throws ServiceException {
        try {
            return daoUnidadMedidaComp.listarActivos(UnidadMedidaComp.class);
        } catch (DAOException ex) {
            throw new ServiceException(ex.getMessage(), ex);
        }
    }

    @Override
    public UnidadMedidaComp conseguirUnidadMedidaCompPorId(Integer idUnidadMedidaComp) throws ServiceException {
         try {
            return daoUnidadMedidaComp.obtenerEntidadPorId(UnidadMedidaComp.class, idUnidadMedidaComp);
        } catch (DAOException ex) {
            throw new ServiceException(ex.getMessage(), ex);
        }
    }

    @Override
    public Collection<UnidadMedidaComp> listarUnidadMedidaCompPorFiltro(UnidadMedidaComp unidadMedidaComp) throws ServiceException {
        try {
            return daoUnidadMedidaComp.listarUnidadMedidaCompPorFiltro(unidadMedidaComp);
        } catch (DAOException ex) {
            throw new ServiceException(ex.getMessage(), ex);
        }
    }

    @Override
    public UnidadMedidaComp conseguirUnidadMedidaCompPorvalCadena(String valCadena) throws ServiceException {
        try {
            
            return daoUnidadMedidaComp.conseguirUnidadMedidaCompPorvalCadena(valCadena);
        } catch (DAOException ex) {
            throw new ServiceException(ex.getMessage(), ex);
        }
    }
    
    @Override
    public Collection<UnidadMedidaComp> listarUnidadMedidaCompPorUM(UnidadMedidaComp unidadMedidaComp) throws ServiceException {
        try {
            
            return daoUnidadMedidaComp.listarUnidadMedidaCompPorUM(unidadMedidaComp);
        } catch (DAOException ex) {
            throw new ServiceException(ex.getMessage(), ex);
        }
    }
    
}
